let arr = [5, 3, 2, 4, 1]
// 找数组下标[0,length-1]的最小值，找到了就跟当前这个区间最左边的元素换位置
// 找数组下标[1,length-1]的最小值，找到了就跟当前这个区间最左边的元素换位置
// ...

function selectSort(arr) {
    const len = arr.length
    let minIndex  // 存放最小值的下标

    for (let i = 0; i < len; i++) {
        minIndex = i

        for (let j = i; j < len; j++) { // 找最小值
            // 如果区间内的值比当前区间最左边的值还小
            if (arr[j] < arr[minIndex]) {
                minIndex = j
            }
        }
        if (minIndex !== i) {
           
            [arr[i], arr[minIndex]] = [arr[minIndex], arr[i]]
        }

    }
    return arr
}
let newArr = selectSort(arr)
console.log(newArr);